package com.yuandian.customer.perception.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.customer_perception.po.BusinessPerformanceParams;
import com.yuandian.api.customer_perception.vo.BusiLineChatrDataVo;
import com.yuandian.api.customer_perception.vo.BusinessPerformanceVo;
import com.yuandian.api.customer_perception.vo.OperatorBehaviorVo;
import com.yuandian.api.customer_perception.vo.SelectPojo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 说明：业务性能指标mapper
 * @Author yanjun
 * @Date 2021/12/20 10:30
 */
@Repository
public interface BusinessPerformanceMapper {

    /**
     * 查询业务性能指标列表过滤项
     * @param params 业务性能指标查询参数对象
     * @return 选项集合
     */
    //@DS("khgzData")
    //@SqlAlias(value = "性能优化-查询业务性能指标列表过滤项")
    List<SelectPojo> queryBusinessPerformanceOptions(@Param("params") BusinessPerformanceParams params);

    /**
     * 查询业务性能指标列表
     * @param page 分页对象
     * @param params 业务性能指标查询参数对象
     * @return 业务性能指标vo对象集合
     */
    //@DS("khgzData")
    //@SqlAlias(value = "性能优化-查询业务功能运行概况列表")
    List<BusinessPerformanceVo> queryBusinessPerformanceList(
            Page<BusinessPerformanceVo> page, @Param("params") BusinessPerformanceParams params);
    /**
     * 查询业务性能指标列表
     * @param page 分页对象
     * @param params 业务性能指标查询参数对象
     * @return 业务性能指标vo对象集合
     */
    //@DS("khgzData")
    //@SqlAlias(value = "性能优化-查询业务功能运行概况列表2")
    List<BusinessPerformanceVo> queryBusinessPerformanceList2(
			Page<BusinessPerformanceVo> page, @Param("params") BusinessPerformanceParams params);

    /**
     * 查询系统所属域信息
     * @return 系统域信息对象集合
     */
    //@DS("systemData")
    //@SqlAlias(value = "性能优化-查询系统所属域信息")
//    List<SystemDomainInfo> querySystemDomainList();

    /**
     * 查询菜单映射
     * @return 业务性能菜单映射对象集合
     */
    //@DS("systemData")
    //@SqlAlias(value = "性能优化-查询菜单映射")
//    List<BusiPerforMenuMapping> queryMenuMappingList();

    /**
     * 查询页签映射
     * @return 页签映射对象集合
     */
    //@DS("systemData")
    //@SqlAlias(value = "性能优化-查询页签映射")
//    List<PageLabelMapping> queryPageLabelMappingList();



    /**
     * 查询页签映射
     * @return 页签映射对象集合
     */
    //@DS("systemData")
    //@SqlAlias(value = "性能优化-根据页签id查询页签映射")
//    PageLabelMapping queryPageLabelMappingListById();

    /**
     * 查询按钮映射
     * @return 按钮映射对象集合
     */
    //@DS("systemData")
    //@SqlAlias(value = "性能优化-查询按钮映射")
//    List<ButtonMapping> queryButtonMappingList();
	/**
	 * 查询业务功能图表信息
	 */
	List<BusiLineChatrDataVo> queryBusinessFunctionChartData(@Param("params") BusinessPerformanceParams params);

	/**
	 * 查询 用户操作笔数，原来查es
	 * @param params
	 * @return
	 */
	Long queryUserOperationCount(@Param("params") BusinessPerformanceParams params);

	/**
	 * 查询用户操作行为列表
	 * @param page
	 * @param params
	 * @return
	 */
	List<OperatorBehaviorVo> queryOperatorBehaviorList(@Param("page") Page<OperatorBehaviorVo> page, @Param("params") BusinessPerformanceParams params);
}
